﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Zombicide.Model
{
    public class Hero : Character
    {
        public int Food { get; set; }
        public int Water { get; set; }
        public int Sleep { get; set; }
        public int Weight { get; set; }
        public List<string> Skills { get; set; }
        public List<string> Defaults { get; set; }
        public List<string> Items { get; set; }
        public Weapon EquipedWeapon { get; set; }
        public HeroStatus Status { get; set; }
        
        public Hero()
        {
            Food = 100;
            Water = 100;
            Sleep = 100;
            EquipedWeapon = null;
            Status = HeroStatus.OnList;
        }
    }
    
    public enum Skill
    {
        Resistant, // +1 Hp
        Fouineur, // Fouille 2 X
        Chanceux, // Augmente les chances de trouver des objets rares
        Athletic, // +1PA
        RoiDeLevasion, // 1PA pour fuir
        ArtMartiaux, // + 1Degat au CaC
        Précis, // +1 précision (arme à feu)
        Sniper, // Ne touche jamais un allié (arme à feu)
        Bricoleur, // +1 Construction (Maison)
        Armurier, // Répare les armes (enrailler, ...)
        Genius, // Peux fabriqué des armes/défense/amélioration avec les matériaux disponible dans la maison (random)
    }

    public enum Default
    {
        Faible, // -1 Hp
        MauvaiseVision, // 2PA pour fouiller - 1précision (corriger par lunette)
        Malchanceux, // Diminue les chances de trouver des objets rares   
        Gourmand, // Consomme plus de nourriture
        BlessureIrreversibleJambe, // 2PA pour bouger
        BlessureIrreversibleBras, // -1 precision   
        BlessureIrreversibleCorps, // -1 Hp   
        Gros, // -1PA
        Panique, // Ne peux pas fuir
        Claustrophobe, // Ne peux pas entrer dans une piece de -3/3
    }

    public enum HeroStatus
    {
        OnList,
        OnBoard,
        Dead
    }
}
